package lumis.doui.service;

import lumis.doui.IDouiManager;
import lumis.portal.PortalException;

import org.w3c.dom.Node;

/**
 * Defines the interface for a processor for a doui definition. A doui 
 * definition processor allows the use of dynamic doui definitions.
 * @see IDouiManager#getDouiServiceInterfaceInstanceDefinition(lumis.portal.authentication.SessionConfig, String, IDouiDefinitionProcessor, lumis.util.ITransaction)
 * @since 4.1.0
 * @version $Revision: 8618 $ $Date: 2007-12-18 11:34:20 -0200 (Tue, 18 Dec 2007) $
 */
public interface IDouiDefinitionProcessor
{
	/**
	 * Process the definition node.
	 * @param definition the {@link DouiServiceInterfaceInstanceDefinition} 
	 * instance being processed.
	 * @param node the root xml node to be processed.
	 * @since 4.1.0
	 */
	public void process(DouiServiceInterfaceInstanceDefinition definition, Node node) throws PortalException;
}